Configuring and optimizing a complex computing system comprising a plurality of computing components requires balancing functional requirements with resource constraints. From the functional requirements, all viable configurations can be identified. The specifications for each viable configuration may be very detailed and may include requirements for the major hardware components of a computing system, i.e. compute, network and storage components. Once the viable configurations have been identified, a design engineer selects one or more configurations that would satisfy the functional requirements and the resource constraints. If one of the functional requirements is virtualization, then the individual components of the computing system must be suitable for use in a converged infrastructure environment.
A disadvantage associated with the current systems and methods for configuring and optimizing a computing system is lack of consistency. Two design engineers, provided with the same functional requirements and resource constraints may, nevertheless, recommend different computing systems. This is because the process of balancing functional requirements with resource constraints is inherently subjective. What is needed, therefore, is a system and method for determining an optimal configuration for a computing system, such as, a converged infrastructure, that overcomes one or more of the disadvantages associated with known systems and method for doing so.